Automatic Sound Level Control

ABSTRACT

A method includes identifying, by a computing device including a processor, a plurality of words from data. The method includes determining a location of the computing device. The method includes determining, by the computing device, a sound output level based on the location. The method also includes generating, by the computing device, digital sound data based on the sound output level and the plurality of words identified from the data.

CLAIM OF PRIORITY

The present application is a continuation of, and claims priority to,U.S. patent application Ser. No. 15/071,756, filed on Mar. 16, 2016,which is a continuation of U.S. patent application Ser. No. 13/847,633,filed on Mar. 20, 2013, now U.S. Pat. No. 9,318,101, which is acontinuation of U.S. patent application Ser. No. 12/637,820, filed onDec. 15, 2009, now U.S. Pat. No. 8,428,947, the contents of each ofwhich are expressly incorporated herein by reference in their entirety.

TECHNICAL FIELD

This disclosure relates generally to the field of sound level controland, more specifically, this disclosure pertains to the field ofautomatic sound level control of output sounds emanating from a mobiledevice or an output coupled to the mobile device

DESCRIPTION OF THE RELATED ART

Mobile devices are used in a variety of environments that can presentvarious ambient noise levels. In one example, an environment at or neara restaurant can present a noise level that is higher than anenvironment of a cabin of an automobile. In another example, anenvironment at or near a train platform can present a noise level thatis higher than a coffee shop. It can become difficult for a user of amobile to discern or determine sounds emanating from the mobile deviceor an output coupled to the mobile device (e.g., a headset) in variousenvironments where the noise level is comparatively higher than otherenvironments unless the mobile device produces sounds at a greatervolume. Further, it can become disturbing to the user or others aroundthe user when the mobile device produces sounds at a greater volume inenvironments where the noise level is comparatively lower than otherenvironments unless the mobile device or an output coupled to the mobiledevice produces sounds at a lower volume.

BRIEF DESCRIPTION OF THE DRAWINGS

The preferred embodiments will become apparent upon reading thefollowing detailed description and upon reference to the accompanyingdrawings in which:

FIG. 1 provides a block diagram of a network communication system,according to one or more embodiments;

FIG. 2 provides a block diagram of a network communication system,according to one or more embodiments;

FIG. 3 provides a block diagram of a mobile device, according to one ormore embodiments;

FIG. 4 illustrates a method for automatically determining a sound levelbased on an ambient sound level, according to one or more embodiments;

FIG. 5 illustrates a method for automatically determining a sound levelbased on a location, according to one or more embodiments;

FIG. 6 provides a block diagram of one or more computer systems coupledto one or more networks, according to one or more embodiments;

FIGS. 7-10 provide block diagrams of a mobile device, a portion of auser of the mobile device, and a drag and drop process, according to oneor more embodiments;

FIG. 11 illustrates a method of indexing and/or tagging text of a file,according to one or more embodiments; and

FIG. 12 illustrates a method of searching a file, according to one ormore embodiments.

While the disclosure is susceptible to various modifications andalternative forms, specific embodiments thereof are shown by way ofexample in the drawings and will herein be described in detail. Itshould be understood, however, that the drawings and detaileddescription thereto are not intended to limit the disclosure to theparticular form disclosed, but on the contrary, the disclosure is tocover all modifications, equivalents and alternatives falling within thescope of the disclosure as defined by appended claims.

DETAILED DESCRIPTION

FIG. 1 illustrates a block diagram of one or more network communicationssystems, according to one or more embodiments. In one or moreembodiments, mobile devices (MDs) 1040-1042 and 1044 can be coupled toand communicate with network 1013. For example, network 1013 can beand/or implement a telecommunications network. For instance, network1013 can be and/or implement a wireless telecommunications network thatcan support one or more wireless telecommunications network protocolssuch as one or more of General Packet Radio Service (GPRS), enhanceddata rates for GSM evolution (EDGE), long term evolution, (LTE), CDMA(code division multiple access), TDMA (time division multiple access),and/or FDMA (frequency division multiple access), among others. In oneor more embodiments, network 1013 can be coupled to and/or include atelephony network that can include a wireless cellulartelecommunications network and/or a wireless satellitetelecommunications network. In one or more embodiments, the telephonynetwork can communicate information such as voice and/or data.

In one or more embodiments, network 1013 can implement and/or provideaccess and/or services of one or more other networks. For example,network 1013 can provide access and/or services of a public network(e.g., the Internet) to one or more of MDs 1040-1042 and 1044. In one ormore embodiments, network 1013 provides access and/or services of one ormore other networks at a lower data rate than network 1014 can provideto one or more of MDs 1040, 1042, and 1043. For example, network 1013can include less bandwidth than network 1014. In one or moreembodiments, network 1014 can provide access and/or services of one ormore other networks to MDs 1040-1044 through one or more access points(APs) and/or one or more network management devices (NMDs).

In one or more embodiments, access to these networks can include one ormore “services” these networks may provide. For example, these one ormore services can include one or more of: email, world wide web, filetransfer, printing, file sharing, file system sharing, remote filesystem, network file system (NFS), news, multicast, netbios, encryption,domain name service (DNS), routing, tunneling, chat such as InternetRemote Chat and/or AOL Instant Messenger, gaming, licensing, licensemanagement, digital rights management, network time, remote desktop,remote windowing, audio, database (e.g., Oracle, Microsoft SQL Server,PostgreSQL, etc.), authentication, accounting, authorization, virtuallocal area network (VLAN) (e.g., IEEE 802.1q), virtual private networkor VPN, audio, phone, Voice Over Internet Protocol (VoIP), paging, andvideo, among others. In one or more embodiments, the one or more servicecan be associated with and/or correspond to one or more protocols of oneor more computer and/or software applications.

As shown, MDs 1040-1042 can be at a location 1050, and mobile device(MD) 1040 can be coupled to an access point (AP) 1030. MD 1042 can becoupled to an AP 1031. As illustrated, APs 1030 and 1031 can be coupledto a network 1010 that can be coupled to a network management device(NMD) 1020. In one or more embodiments, MD 1040 can be coupled tonetwork 1010 via AP 1030, and MD 1042 can be coupled to network 1010 viaAP 1031. In one or more embodiments, network 1010 can be coupled tonetwork 1014 via NMD 1020.

In one or more embodiments, NMD 1020 can provide authentication, qualityof service (QoS), communication traffic shaping, and/or access controlfrom one or more computing devices (e.g., MDs 1040 and 1042) coupled tonetwork 1010 through one of APs 1030 and 1031 to network 1014. Forexample, NMD 1020 can include an access control list that can bemodifiable, and NMD 1020 can use the access control list to permitand/or deny access of one or more computing devices (e.g., MDs 1040 and1042) to network 1014. In one or more embodiments, NMD 1020 can performone or more processes and/or methods that can modify the access controllist. In one or more embodiments, NMD 1020 can receive one or moresignals from a remote signaling device, and the access control list ofNMD 1020 can be modified based on the received one or more signals fromthe remote signaling device. In one or more embodiments, signals and/orsignaling can be used in communicating establishment and/or control ofcommunications and/or access to a network and/or resources of thenetwork. In one or more embodiments, signals and/or signaling can beused between two different network providers or between two systems of asingle network provider. In one example, a first network provider can beor include a second network provider, and signals and/or signaling canbe used between the first network provider and the second networkprovider can mean signaling between two systems of the first networkprovider. In one or more embodiments, signals and/or signaling can beused to convey information (e.g., configuration messages, accountingmessages, control data, etc.) that is different than user informationtransfer (e.g., a telephone conversation between two users, a textmessage communication between two users, etc.).

In one or more embodiments, network 1010 and/or network 1014 can includea wired network, a wireless network or a combination of wired andwireless networks. Network 1010 and/or network 1014 can include and/orbe coupled to various types of communications networks, such as a publicswitched telephone network (PSTN), an Internet, a wide area network(WAN) (e.g., a private WAN, a corporate WAN, a public WAN, etc.), alocal area network (LAN). In one or more embodiments, NMD 1020 can becoupled to a PSTN, e.g., Ethernet cable and DSL; a cable (television)based network; a satellite-based system; and/or a fiber based network;among others. In one or more embodiments, network 1010 and/or network1014 can include one or more wireless networks, e.g., based on IEEE802.11 and/or IEEE 802.16. For instance, one or more of APs 1030 and1031 can be coupled to network 1010 in a wireless fashion. Network 1010and/or network 1014 can include one or more DSL (digital subscriberline) and/or cable (e.g., cable television) networks and/orinfrastructures. For example, network 1010 and/or network 1014 caninclude one or more of: cable modems, cable modem termination systems(CMTSs), satellite modems, DSL modems, digital subscriber line accessmultiplexers (DSLAMs), broadband remote access servers (BRASs),telecommunications circuits, and/or metropolitan area networks (MANs),among others. In one or more embodiments, network 1014 may form part ofthe Internet, or may couple to other networks, e.g., other local or widearea networks such as the Internet. In one or more embodiments, NMD 1020can be a system operable to include one or more of network 1010, AP1030, AP 1031, and/or various networking equipment, among others.

In one or more embodiments, AP 1030 can be a wired AP or a wireless AP.In one example, a wired AP can communicate with one or more computingdevices (e.g., MDs 1040-1045) in a wired fashion. For instance, a wiredAP can communicate with one or more computing devices (e.g., MDs1040-1045) using wired Ethernet. In another example, a wireless APcommunicates with one or more computing devices (e.g., MDs 1040-1045) ina wireless fashion. For instance, a wired AP can communicate with one ormore computing devices (e.g., MDs 1040-1045) using one or more ofInstitute of Electrical and Electronics Engineers (IEEE) 802.16, IEEE802.11 (wireless Ethernet), IEEE 802.15 (Bluetooth), ultra wide band,and/or infrared communication technologies, among others. In one or moreembodiments, a wireless access point can include a transceiver tocommunicate with one or more computing devices using one or morewireless methods, processes, and/or protocols.

In one or more embodiments, each MD of MDs 1040-1045 can include and/orcan be coupled to one or more transceivers that allow the MD tocommunicate with network 1013 and an AP of APs 1030-1033. For example,MD 1040 can include or be coupled to a first transceiver that cancommunicate with network 1013 and include or be coupled to a secondtransceiver to communicate with AP 1030. For instance, MD 1040 caninclude or be coupled to a first transceiver that can communicate with acellular telephone tower of or coupled to network 1013 and include or becoupled to a second transceiver, such as a wireless Ethernettransceiver, to communicate with AP 1030.

As shown, MDs 1043 and 1044 can be at a location 1051, and MD 1043 canbe coupled to an AP 1032 which can be coupled to a network 1011 that canbe coupled to a NMD 1021. As also shown, MD 1045 can be at a location1052 and can be coupled to an AP 1033 which can be coupled to a network1012 that can be coupled to a NMD 1022. As illustrated, networkmanagement devices (NMDs) 1020 and 1021 can be coupled to network 1014,and NMD 1022 can be coupled to network 1013. In one or more embodiments,NMDs 1020 and 1021 can provide access control between respectivenetworks 1010 and 1011 and network 1014, and NMD 1022 can provide accesscontrol between networks 1012 and network 1013. In one or moreembodiments, NMDs 1021 and 1022 can include and/or implement one or morestructures and/or one or more functionalities described with referenceto NMD 1020. In one or more embodiments, APs 1031-1033 can includeand/or implement one or more structures and/or one or morefunctionalities described with reference to AP 1030. In one or moreembodiments, networks 1011 and 1012 can include and/or implement one ormore structures and/or one or more functionalities described withreference to network 1010. In one or more embodiments, locations1050-1052 can include one or more of hotels, airports, restaurants,geographic regions, planes, trains, automobiles, and coffee shops, amongothers.

Turning now to FIG. 2, a block diagram of one or more networkcommunications systems, according to one or more embodiments. Each ofthe elements illustrated in FIG. 2 is described with reference toFIG. 1. As illustrated, APs 1030, 1032, and 1033 can be at respectivelocations 1050, 1051, and 1052. In one or more embodiments, one or morelocations of one or more of APs 1030-1033 can be stored in a database,and a location of a computing device coupled to an AP can determinedusing the location of the AP. For example, AP 1030 may have a limitedrange in which a computing device can communicate with AP 1030. Forinstance, AP 1030 may communicate with a computing device using wirelessEthernet which may be limited to communicating with the computing devicewhen the computing device is within some number (e.g., tens or hundreds)of feet. For example, the database can store a location associated withlocation 1050 for AP 1030, and the location associated with location1050 can be used to determine one or more locations for one or more ofMDs 1040 and 1041 communicating with AP 1030. For instance, if MD 1040is communicating with AP 1030, then it can be determined that MD 1040 isat location 1050.

In one or more embodiments, location 1052 can be or be included in avehicle. For example, location 1052 can be or be included in a plane,train, or automobile, and location 1052 can move from one point toanother point at one or more speeds and/or directions. For instance,location 1052 can be or be included in a cabin of a plane, a train car,or a passenger car.

Turning now to FIG. 3, a block diagram of a mobile device isillustrated, according to one or more embodiments. As shown, MD 1040 caninclude a memory coupled to a processor 3010, and MD 1040 can includenetwork interfaces 3030 and 3031, user output interface 3040, and userinput interface 3050 coupled to processor 3010. In one or moreembodiments, memory 3020 can include one or more applications (APPs)3070-3072 and/or operating system (OS) 3075 that can includeinstructions executable by processor 3010 to implement one or moremethods and/or one or more systems associated with MD 1040. In one ormore embodiments, MD 1040 may be any of various types of devices,including a computer system, such as a portable computer, a personaldigital assistant (PDA), a mobile telephone (e.g., a cellular telephone,a satellite telephone, etc.), a wearable computing device, an Internetappliance, a communications device, or other wired or wireless device.

In one or more embodiments, user output interface 3040 can be used toconvey information (e.g., text, graphic, video, audio, etc.) to a userof MD 1040. For example, MD 1040 may include a display (e.g., a displayscreen) that can be used to convey text, graphic, and/or videoinformation to a user of MD 1040. In one or more embodiments, MD 1040can include a sound output device 3042 coupled to user output interface3040. In one or more embodiments, sound output device 3042 can include adevice and/or circuitry that can produce one or more sounds.

In one or more embodiments, a sound can be an alteration in pressure, analteration particle displacement, and/or an alteration particle velocitythat can be propagated in one or more elastic mediums. In one or moreembodiments, a sound can be a superposition of one or more propagatedalterations of pressure, particle displacement, and/or velocity that canbe propagated in one or more elastic mediums, and one or more sounds canpropagate through the one or more elastic mediums via one or more soundwaves. In one or more embodiments, an intensity of a sound wave can besound energy transmitted, and an intensity of a sound field can be soundenergy transmitted per a time period through an area perpendicular to adirection of transmission at a point in a coordinate system. Forexample, an intensity of a sound field can be measured in ergs persecond per centimeters squared.

In one or more embodiments, sound output device 3042 can include a bodythat can produce vibrations to create one or more sounds. For instance,sound output device 3042 can include a speaker that can produce one ormore sounds, audible to a user of MD 1040, by vibrating a body (e.g., adiaphragm, a crystal, a ceramic, etc.).

In one or more embodiments, user output interface 3040 can be coupled toa sound output device 3044. In one instance, sound output device 3044can include one or more of an amplifier and/or a speaker. In anotherinstance, sound output device 3044 can include one or more earphones. Inone or more embodiments, user output interface 3040 can be coupled tosound output device 3044 in a wired fashion. In one or more embodiments,user output interface 3040 can be coupled to sound output device 3044 ina wireless fashion. In one example, user output interface 3040 cancommunicate sound information to output device 3044 using an ISM(industrial, scientific, measurement) band. For instance, user outputinterface 3040 can communicate sound information to output device 3044using one or more of a personal area network (PAN), IEEE (Institute ofElectrical and Electronics Engineers) 802.15, IEEE 802.15.4, ZigBee,6LoWPAN, frequency modulation of a carrier wave, amplitude modulation ofa carrier wave, light signals, and serial pulses, among others. In oneor more embodiments, sound output device 3044 can be or be included in adevice that includes IEEE 802.15 receiver or transceiver, such as aBluetooth headset or earpiece.

In one or more embodiments, user input interface can be used to receiveuser input from a user of MD 1040. In one example, MD 1040 may include akeyboard that can be used to receive user input from a user of MD 1040.In another example, MD 1040 may include a one or more sensors that canbe used to receive user input from a user of MD 1040. In one instance,one or more sensors can include resistive sensors that can be used todetermine one or more positions on a display screen. In anotherinstance, one or more sensors can include capacitive sensors that can beused to determine one or more positions on a display screen. In one ormore embodiments, user output interface 3040 and user input interfacecan be used to implement a keyboard. For example, user output interface3040 can be used to present an image of a keyboard, and user inputinterface 3050 can receive a position of user input on the image of thekeyboard to determine a received key of the keyboard. In one or moreembodiments, MD 1040 can include a sound input device 3052 coupled touser input interface 3050.

In one or more embodiments, a sound input device can include a deviceand/or circuitry that can receive one or more sounds and transform theone or more sounds into one or more electrical signals (e.g., voltageand/or current). In one or more embodiments, a sound input device caninclude an acoustic to electric transducer or sensor that can convertone or more sounds into one or more electrical signals. For example, theacoustic to electric transducer or sensor can include a body (e.g., adiaphragm, a crystal, a ceramic, etc.) that can vibrate in response toone or more sounds (e.g., in response to sound pressure), and movementof the body can be transformed and/or converted into one or moreelectrical signals. For instance, a sound input device can include amicrophone. In one or more embodiments, a microphone can use one or moreof capacitance change (e.g., a condenser microphone), electromagneticinduction (e.g., a dynamic microphone), piezoelectric generation, andlight modulation to produce one or more electrical signal from one ormore mechanical vibrations.

In one or more embodiments, user input interface 3050 can be coupled toa sound input device 3054. In one instance, sound input device 3054 caninclude one or more of an amplifier and/or a microphone. In one or moreembodiments, user input interface 3050 can be coupled to sound inputdevice 3054 in a wired fashion. In one or more embodiments, user inputinterface 3050 can be coupled to sound input device 3054 in a wirelessfashion.

In one example, sound input device 3054 can communicate soundinformation to user input interface 3050 with using an ISM band. Forinstance, sound input device 3054 can communicate sound information touser input interface 3050 using one or more of a PAN, IEEE 802.15, IEEE802.15.4, ZigBee, 6LoWPAN, frequency modulation of a carrier wave,amplitude modulation of a carrier wave, light signals, and serialpulses, among others. In one or more embodiments, sound input device3054 can be or be included in a device that includes IEEE 802.15transmitter or transceiver, such as a Bluetooth headset or microphone.

In one or more embodiments, network interface 3030 can be used to coupleMD 1040 to network 1013, and MD 1040 can use network interface 3030 tocommunicate information (e.g., data, voice data, etc.) with network1013. For example, network interface 3030 can include a transceiver thatis operable to communicate information with network 1013. In one or moreembodiments, network interface 3030 can include a subscriber identitymodule (SIM) 3060. In one or more embodiments, SIM 3060 can securelystore an international mobile subscriber identity (IMSI) which caninclude a unique number and/or identity associated with a global systemfor mobile communications (GSM) network and/or a universal mobiletelecommunications system (UMTS) network. In one example, the uniquenumber and/or identity can be used to determine informationcorresponding to MD 1040 from a home location register (HLR) and/or froma visitor location register (VLR). In one or more embodiments, a MSISDN(mobile subscriber ISDN (integrated services digital network) number,mobile station international ISDN number(s), or mobile internationalISDN number) can be a number that can uniquely identify a subscriptionin a GSM mobile network and/or a UMTS (universal mobiletelecommunications system) mobile network. For example, the MSISDN caninclude a telephone number corresponding to SIM 3060. In one instance,the MSISDN can include a country code, a national destination code, anda subscriber number. In another instance, the MSISDN can include acountry code, a number planning area, and a subscriber number.

In one or more embodiments, SIM 3060 can be embodied in a removable card(e.g., a SIM card) that can be removed from a first MD associated with afirst subscriber account and placed in a second MD, so that the secondMD can be associated with the first subscriber account. For example, SIM3060 embodied as a SIM card can be associated with a first subscriberaccount and used in MD 1040, thereby associating MD 1040 with the firstsubscriber account; SIM 3060 can be removed from MD 1040, therebydisassociating MD 1040 with the first subscriber account; and SIM 3060can be placed in MD 1041, thereby associating MD 1041 with the firstsubscriber account.

In one or more embodiments, network interface 3031 can be used tocommunicate with an AP. For example, network interface 3031 can be usedto communicate with AP 1030. In one or more embodiments, networkinterface 3031 can include a transceiver that is operable to communicateinformation with AP 1030.

In one or more embodiments, MD 1040 can include a position device 3080coupled to processor 3010. In one example, position device 3080 caninclude a global positioning system (GPS) receiver. In another example,position device 3080 can include a terrestrial radio navigation systemreceiver such as LORAN (LOng RAngeNavigation). In one or moreembodiments, position device 3080 can provide one or more services suchas one or more of positioning, navigation, and timing to processor 3010.For example, a positioning service can provide one or more of latitudeinformation, longitude information, altitude information, and accuracyinformation (e.g., a radius of uncertainty for a geographic location orposition).

In one or more embodiments, the term “memory” can mean a “memory medium”and/or “computer readable medium” which is intended to include varioustypes of memory or storage, including an installation medium, e.g., aCD-ROM, or floppy disks, a random access memory or computer systemmemory such as DRAM, SRAM, EDO RAM, Rambus RAM, NVRAM, EPROM, EEPROM,flash memory etc., and/or a non-volatile memory such as a magneticmedia, e.g., a hard drive, and/or optical storage. The memory medium caninclude other types of memory as well, or combinations thereof. In oneor more embodiments, the memory medium can be and/or include an articleof manufacture and/or a software product. In addition, the memory mediumcan be located in a first computer in which the programs are executed,or can be located in a second different computer and/or hardware memorydevice that connects to the first computer over a network. In one ormore embodiments, the second computer provides the program instructionsto the first computer for execution. The memory medium can also be adistributed memory medium, e.g., for security reasons, where a portionof the data is stored on one memory medium and the remaining portion ofthe data can be stored on a different memory medium. Also, the memorymedium can include one of the networks to which the current network iscoupled, e.g., a SAN (Storage Area Network).

In one or more embodiments, each of the systems described herein maytake various forms, including a personal computer system, servercomputer system, workstation, network appliance, Internet appliance,wearable computing device, personal digital assistant (PDA), laptop,mobile telephone, mobile multimedia device, embedded computer system,television system, and/or other device. In general, the terms “computingdevice”, “computer”, and/or “computer system” can be broadly defined toencompass any device having a processor which executes instructions froma memory medium.

The memory medium in one or more systems thus can store a softwareprogram and/or data for performing and/or enabling automatic sound levelcontrol. A CPU or processing unit in one or more systems executing codeand data from a memory medium includes a means for executing one or moresoftware program according to the methods and/or flowcharts describedherein.

Turning now to FIG. 4, a method that automatically determines a soundlevel based on an ambient sound level is illustrated, according to oneor more embodiments. At 4010, two or more words can be determined. Inone or more embodiments, the two or more words can be determined from awritten language that can be spoken and/or verbalized from the writtenlanguage. In one example, words such as “smile”, “a”, “of”, “think”,etc. can be written and spoken and/or verbalized in the Englishlanguage.

In one or more embodiments, the two or more words can be determined fromtext data. In one example, the two or more words can be determined froma text data such as text data from a text file. In another example, thetwo or more words can be determined from text data from data thatincludes text data and at least one of image data (e.g., graphics,graphical representation of text, etc.) and metadata. For instance, thetwo or more words can be determined from data that includes a portabledocument format (PDF). In one or more embodiments, the data thatincludes the PDF can include one or more of text data, image data, andmetadata. In one example, the data that includes the PDF can includeimage data that can include one or more of graphics, pictures, images,images of text, and images that include text, among others. In anotherexample, the data that includes the PDF can include metadata that canspecify where and/or how text and/or image data can be displayed. In oneor more embodiments, the two or more words can be determined from imagedata using an optical character recognition (OCR) process.

At 4015, an ambient sound level (e.g., a sound level of a surroundingarea and/or environment) can be determined. In one or more embodiments,the ambient sound level can be determined using at least one of soundinput device 3052 and sound input device 3054. At 4020, an output soundlevel can be determined based on the ambient sound level. In one or moreembodiments, the output sound level can be determined such that soundsproduced by at least one of sound output device 3042 and sound outputdevice 3044 are discernable by a user of MD 1040. In one or moreembodiments, the output sound level can be determined such that soundsproduced by at least one of sound output device 3042 and sound outputdevice 3044 are not discernable to a human at a measurable distance fromMD 1040. For example, the measurable distance from MD 1040 can be a fewinches to a few feet.

In one or more embodiments, a configuration stored in memory 3020 can beaccessed in determining the output sound level. In one example, MD 1040can receive user input from a user of MD 1040 to indicate what one ormore sounds are discernable with reference to one or more ambient soundlevels, and the configuration stored in memory 3020 can be based on thisuser input. In one or more embodiments, the ambient sound leveldetermined at 4015 can be compared to one or more ambient sound levelsof the configuration stored in memory 3020, and the output sound levelcan be determined based the one or more ambient sound levels of theconfiguration. In one example, the output sound level can be determinedbased interpolation using two or more ambient sound levels of theconfiguration. In another example, the output sound level can bedetermined based extrapolation using two or more ambient sound levels ofthe configuration.

At 4025, sound data based on the two or more words and the determinedsound level can be generated. In one or more embodiments, generating thesound data can include transforming the two or more words to speechusing a text-to-speech transformation or conversion.

In one or more embodiments, generating the sound data can includegenerating digital sound data suitable for a digital-to-analogtransformation or conversion. In one example, the digital sound datasuitable for a digital-to-analog transformation or conversion can besuitable for a sigma-delta digital-to-analog transformation orconversion. In a second example, the digital sound data suitable for adigital-to-analog transformation or conversion can be suitable for pulsewidth modulation (PWM). In another example, the digital sound datasuitable for a digital-to-analog transformation or conversion can besuitable to be transmitted to sound output device 3044. For instance, MD1040 can communicate with sound output device 3044 in a digital format.

In one or more embodiments, generating the sound data can includegenerating analog sound data. In one example, generating the sound datacan include transforming one or more digital sound representations ofthe two or more words to one or more sounds that can be discernable by auser of MD 1040. For instance, generating the sound data can includetransforming one or more digital sound representations of the two ormore words to one or more analog (e.g., continuous) waveforms of sound.

In one or more embodiments, generating the sound data can include usingone or more filters, adders, and/or multipliers to modify and/or producecustomized and/or configurable sound data. For example, using one ormore filters, adders, and/or multipliers can generate the sound datasuch that two or more different voices can be produced. For instance,the sound data can include sum and difference frequencies introduced bythe one or more filters, adders, and/or multipliers to produce differentvoices. In one or more embodiments, the one or more filters, adders,and/or multipliers can be implemented in program instructions that canbe executed by processor 3010.

At 4030, one or more sounds can be produced based on the sound data. Inone or more embodiments, sound output device 3042 can produce the one ormore sounds based on the sound data. In one or more embodiments, soundoutput device 3044 can produce the one or more sounds based on the sounddata. In one or more embodiments, 4010-4030 can be repeated to adapt toone or more environments that can include changing ambient sound levels.

Turning now to FIG. 5, a method that automatically determines a soundlevel based on a location is illustrated, according to one or moreembodiments. In one or more embodiments, elements 5010 and 5025-5030 canbe performed with respect to elements 4010 and 4025-4030 described abovewith reference to FIG. 4.

At 5015, a location of MD 1040 can be determined. For example, alocation of locations 1050-1052 can be determined. At 5020, an outputsound level (e.g., a sound level of a surrounding area and/orenvironment) can be determined based on the location of MD 1040. In oneor more embodiments, determining the output sound level based on thelocation of MD 1040 can include accessing output sound levelconfiguration data via a configuration stored in memory 3020 and/or viaaccessing a network (e.g., network 1013, network 1014, etc.). In one ormore embodiments, the output sound level configuration data can includeone or more location data and corresponding one or more output soundlevel data.

In one example, the output sound level configuration data can be storedin a data structure and can be indexed by location data to determine theoutput sound level. In one instance, the data structure can be stored inmemory 3020. In another instance, the data structure can be stored in amemory of a computer system accessible via a network (e.g., network1013, network 1014, etc.). In one or more embodiments, the location ofMD 1040 may not be precisely present in the output sound levelconfiguration data, and location data of the output sound levelconfiguration data that is within a vicinity of the location of MD 1040can be used to determine the output sound level. In one example, thevicinity of the location of MD 1040 can be a few feet to hundreds offeet. In another example, the vicinity of the location of MD 1040 can behundreds of feet to one or more thousands of feet. In one or moreembodiments, the output sound level configuration data can includevicinity information such that location data of the output sound levelconfiguration data corresponds to vicinity information usable toidentify appropriate location data to determine the output sound level.

In one or more embodiments, determining the output sound level caninclude multiplying an output sound level from the output sound levelconfiguration data by a ratio. In one or more embodiments, the ratio caninclude one of a unity value (e.g., one), a value less than the unityvalue, and a value greater than the unity value. In one example, a firstuser may need a higher sound output level than another user, and theratio can be greater than the unity value (e.g., 1.1, 1.3, 1.5, 2, 2.8,3, etc.). In a second example, a second user may not need a sound outputlevel as high as another user, and the ratio can be less than the unityvalue (e.g., 0.95, 0.9, 0.7, 0.65, 0.5, 0.3, etc.). In another example,a third user can be considered in a median or average group, and theratio can be the unity value. In one or more embodiments, the ratio canbe stored in memory 3020.

Turning now to FIG. 6, a block diagram of one or more computer systemscoupled to one or more networks is illustrated, according to one or moreembodiments. As illustrated, computer systems 6010-6014 can be coupledto network 1014, and computer systems 6010 and 6014 can includerespective output sound level configuration data 6020 and 6024. Computersystem 6012 can be coupled to a database 6032 that can include outputsound level configuration data 6022, and computer system 6012 can accessoutput sound level configuration data 6022 using database 6032,according to one or more embodiments. In one example, database 6032 caninclude a relational database management system (RDBMS). In anotherexample, database 6032 can provide one or more portions of output soundlevel configuration data 6022 in response to one or more queries. In oneor more embodiments, one or more portions of output sound levelconfiguration data 6020-6024 can be provided to one or more mobiledevices (e.g., MDs 1040, 1042, and 1043) coupled to network 1014.

As shown, computer systems 6014-6018 can be coupled to network 1013, andcomputer system 6018 can include output sound level configuration data6028. Computer system 6016 can be coupled to a database 6036 that caninclude output sound level configuration data 6026, and computer system6016 can access output sound level configuration data 6026 usingdatabase 6036, according to one or more embodiments. In one example,database 6036 can include a RDBMS. In another example, database 6036 canprovide one or more portions of output sound level configuration data6026 in response to one or more queries. In one or more embodiments, oneor more portions of output sound level configuration data 6024-6028 canbe provided to one or more mobile devices (e.g., MDs 1040-1042, 1044,and 1045) coupled to network 1013.

Turning now to FIGS. 7-10, diagrams of a mobile device and a portion ofa user of the mobile device are illustrated, according to one or moreembodiments. As shown in FIG. 7, MD 1040 can include one or more userselectable buttons 7010-7016. In one or more embodiments, buttons7010-7016 can be coupled to input interface 3050. MD 1040 can include atouch screen 7020 that can be coupled to output interface 3040 and inputinterface 3050. As illustrated, icons 7030-7054 can be displayed bytouch screen 7020. In one or more embodiments, one or more of icons7030-7054 can be selected by a digit (e.g., a finger) 7060 or otherappendage of a user of MD 1040 and/or one or more of icons 7030-7054 canbe selected by a stylus (not shown). In one or more embodiments, icons7030-7036 can represent files, icons 7040-7046 can representapplications (e.g., applications 3070-3072), and icons 7050-7056 canrepresent folders (e.g., folders or directories of a file system).

In one or more embodiments, digit 7060 can drag an icon of icons7030-7054 from a first portion of screen 7020 by selecting the icon,moving digit 7060 to a second portion of screen 7020, and removing digit7060. In one example, digit 7060 can be kept in contact with screen 7020or in close proximity to screen 7020 while dragging the icon. In anotherexample, digit 7060 can select the icon, be removed from screen 7020,and select a portion of screen 7020. In one or more embodiments, digit7060 can drag an icon an icon of icons 7030-7044 to an icon of foldericons 7050-7056. In one or more embodiments, a drag and drop process caninclude dragging a first icon associated with a file or application to asecond icon associated with a folder.

As illustrated in FIG. 8, digit 7060 can select icon 7032 and can dragicon 7032 to icon 7054, as shown in FIG. 9. FIG. 10 illustrates that afile associated with icon 7032 has been dropped into a folder associatedwith icon 7054 as a result of a drag and drop process. In one or moreembodiments, in response to dropping a file associated with icon 7032into a folder associated with icon 7054, one or more methods and/orprocesses can be performed using the file associated with icon 7032.

Turning now to FIG. 11, a method of indexing and/or tagging text of afile is illustrated, according to one or more embodiments. At 11010, afile can be received. In one or more embodiments, the file can bereceived through a file system operation. In one example, the filesystem operation can include moving or copying the file into a folder ordirectory. For instance, the file can be received from a drag and dropprocess. At 11015, words from the file can be determined. In one or moreembodiments, 11015 can be performed with respect to 4010 of FIG. 4. At11020, key words can be determined. In one or more embodiments, keywords can include one or more of verbs, names, and proper nouns, amongothers.

At 11025, the file can be indexed based on the key words. In one or moreembodiments, index data can be created. For example, the index data caninclude one or more of the key words, one or more positions in the filewhere a key word occurs, and a time stamp, among others. For instance,the index data can be used to search the file in one or more of aforward fashion and a reverse fashion. In one or more embodiments,searching the file in one or more of a forward fashion and a reversefashion can be used to skip over one or more portions of the file suchthat the skipped one or more portions of the file are not output as oneor more sounds. At 11030, the index data can be stored. In one or moreembodiments, the index data can be stored in memory 3020. In oneexample, the index data can be stored in a data structure. In a secondexample, the index data can be stored in a flat file (e.g., a datastructure within a file). In another example, the index data can bestored in a database. For instance, the database can be stored in one ormore of memory 3020, database 6032, and database 6036.

Turning now to FIG. 12, a method of searching a file is illustrated,according to one or more embodiments. At 12010, user input indicating asearch of a file and at least one key word can be received. At 12015, asearch process can be determined. In one or more embodiments, the searchprocess can include a forward search or a reverse search. In one or moreembodiments, using the determined search process to search the file inone or more of a forward fashion and a reverse fashion can be used toskip over one or more portions of the file such that the skipped one ormore portions of the file are not output as one or more sounds. At12020, the file can be searched using the determined search process,index data associated with the file, and the at least one key word. At12025, a in the file at the at least one key word can be determined, anda transformation of text in the file to speech starting at the positioncan proceed at 12030.

It is noted that, in one or more embodiments, one or more of the methodelements described herein and/or one or more portions of animplementation of a method element may be performed in varying orders,can be performed concurrently with one or more of the other methodelements and/or one or more portions of an implementation of a methodelement, or can be omitted. Additional method elements can be performedas desired. In one or more embodiments, concurrently can meansimultaneously. In one or more embodiments, concurrently can meanapparently simultaneously according to some metric. For example, two ormore method elements and/or two or more portions of an implementation ofa method element can be performed such that they appear to besimultaneous to a human. It is also noted that, in one or moreembodiments, one or more of the system elements described herein may beomitted and additional system elements can be added as desired.

Further modifications and alternative embodiments of various aspects ofthe disclosure may be apparent to those skilled in the art in view ofthis description. Accordingly, this description is to be construed asillustrative only and is for the purpose of teaching those skilled inthe art the general manner of carrying out the operations described inthe disclosure. It is to be understood that the forms shown anddescribed herein are to be taken as embodiments. Elements and materialsmay be substituted for those illustrated and described herein, parts andprocesses may be reversed, and certain features in the disclosure may beutilized independently, all as would be apparent to one skilled in theart after having the benefit of this description in the disclosure.Changes may be made in the elements described herein without departingfrom the scope of the disclosure as described in the following claims.

What is claimed is:
 1. A method comprising: identifying, by a computingdevice including a processor, a plurality of words from data;determining a location of the computing device; determining, by thecomputing device, a sound output level based on the location; andgenerating, by the computing device, digital sound data based on thesound output level and the plurality of words identified from the data.2. The method of claim 1, further comprising outputting sound from aspeaker of the computing device based on the digital sound data.
 3. Themethod of claim 1, wherein determining the sound output level comprisesaccessing output sound configuration network data based on the locationfrom a server.
 4. The method of claim 1, wherein determining the soundoutput level comprises accessing output sound configuration network databased on the location from a memory of the computing device.
 5. Themethod of claim 1, wherein the data includes image data, and wherein atleast one word of the plurality of words is identified from the imagedata.
 6. The method of claim 5, wherein at least one word is identifiedusing optical character recognition.
 7. The method of claim 1, whereinat least one of the plurality of words is obtained from a data file. 8.The method of claim 7, wherein the data file comprises a portabledocument format file.
 9. The method of claim 1, wherein generating thedigital sound data includes using a filter, an adder, a multiplier, orcombinations thereof.
 10. The method of claim 1, wherein determining thelocation of the computing device includes utilizing a global positioningsystem receiver.
 11. The method of claim 1, wherein determining thelocation includes use of a terrestrial radio navigation system receiver.12. A computing device comprising: a speaker; a processor coupled to thespeaker; and a memory accessible to the processor, the memory includinginstructions that, when executed by the processor, cause the processorto perform operations comprising: identifying a plurality of words indata; determining a location associated with the processor; determininga sound output level based on the location; generating digital sounddata based on the sound output level and the plurality of words; andoutputting sound from the speaker based on the sound output level andthe plurality of words.
 13. The computing device of claim 12, whereingenerating the digital sound data includes using a filter, an adder, amultiplier, or combinations thereof.
 14. The computing device of claim12, wherein determining the sound output level includes accessing outputsound configuration network data based on the location from the memory.15. The computing device of claim 12, wherein determining the locationincludes basing the location on a location of an access point of anetwork, the access point in communication with the processor.
 16. Acomputer-readable storage device storing instructions that, whenexecuted by a processor, cause the processor to perform operationscomprising: identifying a plurality of words in data; determining alocation associated with the processor; determining an ambient soundlevel; determining a sound output level based on the location and theambient sound level; and generating digital sound data based on thesound output level and the plurality of words.
 17. The computer-readablestorage device of claim 16, wherein determining the sound output levelincludes basing the sound output level on a noise level determined fromthe ambient sound level.
 18. The computer-readable storage device ofclaim 16, wherein determining the sound output level comprises accessingoutput sound configuration network data based on the location from aserver.
 19. The computer-readable storage device of claim 16, whereinthe plurality of words is identified from image data, a data file, orboth.
 20. The computer-readable storage device of claim 16, wherein theoperations further comprise outputting sound from a sound output devicebased on the sound output level and the plurality of words.